Closed-loop therapy adjustment

ABSTRACT

Techniques for detecting a value of a sensed patient parameter, and automatically delivering therapy to a patient according to therapy information previously associated with the detected value, are described. In exemplary embodiments, a medical device receives a therapy adjustment from the patient. In response to the adjustment, the medical device associates a sensed value of a patient parameter with therapy information determined based on the adjustment. Whenever the parameter value is subsequently detected, the medical device delivers therapy according to the associated therapy information. In this manner, the medical device may “learn” to automatically adjust therapy in the manner desired by the patient as the sensed parameter of the patient changes. Exemplary patient parameters that may be sensed for performance of the described techniques include posture, activity, heart rate, electromyography (EMG), an electroencephalogram (EEG), an electrocardiogram (ECG), temperature, respiration rate, and pH.

This application is a continuation of U.S. application Ser. No. 11/414,625, filed Apr. 28, 2006, which claims the benefit of U.S. Provisional Application Ser. No. 60/742,044, filed Dec. 2, 2005. The entire content of each of these Applications is incorporated herein by reference.

TECHNICAL FIELD

The invention relates to medical devices and, more particularly, medical devices that deliver therapy.

BACKGROUND

A variety of types of medical devices are used for chronic, e.g., long-term, provision of therapy to patients. As examples, pulse generators are used for chronic provision of cardiac pacing and neurostimulation therapies, and pumps are used for chronic delivery of therapeutic agents, such as drugs. Typically, such devices provide therapy continuously or periodically according to parameters, e.g., a program comprising respective values for each of a plurality of parameters, specified by a clinician.

In some cases, the patient is allowed to activate and/or modify the therapy. For example, the symptoms, e.g., the intensity of pain, of patients who receive spinal cord stimulation (SCS) therapy may vary over time based on the activity level or posture of the patient, the specific activity undertaken by the patient, or the like. For this reason, a patient who receives SCS therapy from an implantable medical device (IMD), e.g., an implantable pulse generator, is often given a patient programming device that communicates with his IMD via device telemetry, and allows the patient to activate the neurostimulation and/or adjust the intensity of the delivered neurostimulation.

SUMMARY

In general, the invention is directed to techniques for detecting a value of a sensed patient parameter, and automatically delivering therapy to a patient according to therapy information previously associated with the detected value. More particularly, the techniques include receiving a therapy adjustment from the patient and, in response to the adjustment, associating a sensed value of a patient parameter with therapy information determined based on the adjustment. Therapy may then be delivered according to the associated therapy information whenever the parameter value is subsequently detected. In this manner, as an example, a processor of a medical device that delivers therapy to the patient, or of some other component of a system including such a medical device, may “learn” to automatically adjust the therapy in the manner desired by the patient as the sensed parameter of the patient changes.

The processor may maintain a data structure, such as a program table. Each individual “record” within the data structure may include therapy information associated with a respective parameter value. When the processor detects a parameter value, the processor may determine whether any of the records of the data structure include the parameter value. If a record includes the parameter value, the processor may control delivery of stimulation by the medical device according to the therapy information associated with the parameter value in the record. Additionally, when the processor receives a therapy adjustment from the patient, and associates a patient parameter value with therapy information in response to the adjustment, the processor may determine whether any existing records already include the parameter value. The processor may modify an existing record to include the therapy information, or create a new record that includes the therapy information. The medical device may deliver stimulation, such as spinal cord stimulation or some other neurostimulation, and therapy information may include stimulation parameters, such as respective values for pulse amplitude, width and rate, as well as an electrode configuration.

In some embodiments, a plurality of parameters of the patient is sensed. In such embodiments, therapy information may be associated with respective values for each of the plurality of parameters in response to receipt of a therapy adjustment from the patient. In such embodiments, subsequently detection may involve the detection of the particular respective values in combination. Exemplary patient parameters that may be sensed for performance of the techniques of the invention include posture, activity, heart rate, temperature, respiration rate, and pH.

A patient may manually change or adjust stimulation parameters to customize the therapy as needed. While manual adjustment may ultimately result in efficacious therapy, it does so only after the time and patient effort intrinsic in such adjustment. Embodiments of the invention may be able to more quickly and easily provide a patient with efficacious therapy through automatically “learned” associations of sensed patient parameter values with therapy information. For example, a medical device according to the invention may automatically learn to automatically adjust therapy in the manner desired by the patient based on such associations. After a sufficient period of therapy, the patient may no longer need to manually adjust the therapy because the medical device has learned to use values of one or more sensed patient parameters to anticipate any adjustments.

In one embodiment, the disclosure provides a method that comprises sensing a parameter of a patient, receiving a therapy adjustment from the patient, determining therapy information based on the therapy adjustment, automatically associating a value of the sensed parameter with the therapy information in response to receiving the therapy adjustment, subsequently detecting the value, and automatically delivering therapy to the patient according to the therapy information associated with the value in response to the detection.

In another embodiment, the disclosure provides a system comprising a medical device that delivers a therapy to a patient, a sensor that senses a parameter of the patient, a user interface, and a processor. The processor receives a therapy adjustment from the patient via the user interface, determines therapy information based on the therapy adjustment, automatically associates a value of the sensed parameter detected via the sensor with the therapy information in response to receiving the therapy adjustment, subsequently detects the value via the sensor, and automatically controls the medical device to deliver therapy to the patient according to the therapy information associated with the value in response to the detection.

In another embodiment, the disclosure provides a system comprising means for sensing a parameter of a patient, means for receiving a therapy adjustment from the patient, means for determining therapy information based on the therapy adjustment, means for automatically associating a value of the sensed parameter with the therapy information in response to receiving the therapy adjustment, means for subsequently detecting the value, and means for automatically delivering therapy to the patient according to the therapy information associated with the value in response to the detection.

Further, in other embodiments, the disclosure provides computer-readable media comprising instructions that cause a programmable processor to perform any of the methods or techniques described herein.

In various embodiments, the invention may provide one or more advantages. For example, the patient may rarely need to manually enter an adjustment to the therapy after a medical device or other component of a system according to the invention learns to automatically adjust the therapy based on sensed patient parameter values. In addition, to the extent that the symptoms of the patient change over time, the patient may further adjust the therapy, systems according to the invention may learn to deliver therapy according to these adjustments, e.g., by modifying existing records stored in a program table.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example system that facilitates closed-loop therapy adjustment according to the invention.

FIG. 2 is a block diagram illustrating an example medical device that delivers therapy and provides closed-loop adjustment of the therapy according to the invention.

FIG. 3 is a block diagram illustrating an example configuration of a memory of the medical device of FIG. 2.

FIG. 4 is a block diagram illustrating an example external programmer that allows a patient to communicate with the medical device of FIG. 2.

FIG. 5 is a flow diagram illustrating an example technique for automatically associating therapy information with patient parameter values in response to patient therapy adjustments.

FIG. 6 is a flow diagram illustrating an example technique for delivering stimulation according to existing associations of therapy information and parameter values, and automatically associating existing therapy information with additional patient parameter values.

FIG. 7 is a chart illustrating an example patient parameter values table that may be used for closed-loop adjustment of therapy.

FIG. 8 is a diagram illustrating an example data structure and method for providing closed-loop therapy according to the invention based on multiple sensed patient parameters.

DETAILED DESCRIPTION

Electrical stimulation is one example of a therapy that may be delivered in a closed-loop manner according to the present invention. Electrical stimulation may be, for example, used to treat patients that suffer from chronic back pain, leg pain, or other pain that cannot be treated through other methods. As a patient changes posture, the stimulation may need to be adjusted in order to maintain efficacy. The patient may use a programmer to manually change one or more stimulation parameters, e.g., amplitude, to adjust the therapy in response to the posture change. Alternatively, the patient may select a new stimulation program, the program including new respective values for each of the stimulation parameters, to adjust the therapy.

While manual adjustment of stimulation may be effective, the patient is burdened by the need to adjust the therapy throughout a daily routine. According to some embodiments of the invention, a medical device, e.g., an implantable medical device (IMD), includes or is coupled to a sensor that senses a patient parameter, and delivers closed-loop therapy based on values of the patient parameter. The IMD automatically “learns” to provide closed-loop therapy based on therapy adjustments made by the patient. In particular, the IMD associates patient parameter values with therapy information in response to therapy adjustments, and then automatically delivers therapy according to therapy information associated with parameter values. The patient may rarely need to manually enter an adjustment to the therapy after a medical device or other component of a system according to the invention learns to automatically adjust the therapy based on sensed patient parameter values.

For example, the IMD may store a table or other data structure that contains records, in which each record contains therapy information associated with a respective value of a patient parameter. The IMD may automatically update the table in response to a therapy adjustment from the patient. The IMD may update the program table after every adjustment input from the patient, after a complete therapy adjustment that includes a number of inputs, or periodically during therapy. While spinal cord stimulation (SCS) is described herein, the invention may be applicable to any type of stimulation therapy. Further, the invention may be applicable to other non-stimulation therapies, such as delivery of a therapeutic agent, e.g., a drug.

FIG. 1 is a conceptual diagram illustrating an example system 10 that facilitates closed-loop therapy adjustment according to the invention. In the illustrated example, system 10 includes an IMD 12, which is implanted within a patient 14, and delivers neurostimulation therapy to patient 14. In exemplary embodiments, IMD 12 takes the form of an implantable pulse generator, and delivers neurostimulation therapy to patient 14 in the form of electrical pulses.

IMD 12 delivers neurostimulation therapy to patient 14 via leads 16A and 16B (collectively “leads 16”). Leads 16 may, as shown in FIG. 1, be implanted proximate to the spinal cord 18 of patient 14, and IMD 12 may deliver SCS therapy to patient 14 in order to, for example, reduce pain experienced by patient 14. However, the invention is not limited to the configuration of leads 16 shown in FIG. 1 or the delivery of SCS therapy. For example, one or more leads 16 may extend from IMD 12 to the brain (not shown) of patient 14, and IMD 12 may deliver deep brain stimulation (DBS) therapy to patient 14 to, for example, treat tremor, Parkinson's disease, or epilepsy. As further examples, one or more leads 16 may be implanted proximate to the pelvic nerves (not shown), stomach (not shown), or sexual organs (not shown) and IMD 12 may deliver neurostimulation therapy to treat incontinence, gastroparesis, or sexual dysfunction.

Further, as discussed above, the invention is not limited to embodiments in which IMD 12 delivers stimulation therapy. For example, in some embodiments, IMD 12 may additionally or alternatively be coupled to one or more catheters to deliver one or more therapeutic substances to patient 14, e.g., one or more drugs. Additionally, the invention is not limited to implanted devices. Any implantable or external medical device may deliver closed-loop therapy according to the techniques of the invention.

In exemplary embodiments, IMD 12 delivers therapy according to one or more programs. A program includes one or more parameters that define an aspect of the therapy delivered by the medical device according to that program. For example, a program that controls delivery of stimulation by IMD 12 in the form of pulses may define a voltage or current pulse amplitude, a pulse width, a pulse rate, for stimulation pulses delivered by IMD 12 according to that program. Further, each of leads 16 includes electrodes (not shown in FIG. 1), and the parameters for a program that controls delivery of stimulation therapy by IMD 12 may include information identifying which electrodes have been selected for delivery of pulses according to the program, and the polarities of the selected electrodes, i.e., the electrode configuration for the program. Programs that control delivery of other therapies by IMD 12 may include other parameters. For example, a program that controls delivery of a drug or other therapeutic agent may include a titration rate or information controlling the timing of bolus deliveries.

In exemplary embodiments, IMD 12 may also deliver therapy to patient 14 according to therapy information within a record. A plurality of records are stored in a table or other data structure that is continually updated as IMD 12 “learns” associations of therapy information with patient parameter values. Each record includes at least one sensed patient parameter value and associated therapy information. The therapy information may comprise a complete program that IMD 12 uses to deliver therapy, one or more parameter values, or absolute or percentage adjustments for one or more parameters. When IMD 12 detects a value of a patient parameter value, IMD 12 may adjust therapy as indicated by the therapy information in the record for the parameter value, e.g., deliver therapy according to the program in the record, or adjust one or more parameters as indicated by the therapy information in the record.

In the illustrated example, system 10 also includes a programming device 20, which may, as shown in FIG. 1, be a handheld computing device. Programming device 20 allows a user to interact with IMD 12. Programming device 20 may, for example, communicate via wireless communication with IMD 12 using RF telemetry techniques, or any other techniques known in the art.

Programming device 20 may, as shown in FIG. 1, include a display 22 and a keypad 24 to allow the user to interact with programming device 20. In some embodiments, display 22 may be a touch screen display, and the user may interact with programming device 20 via display 22. The user may also interact with programming device 20 using peripheral pointing devices, such as a stylus or mouse. Keypad 24 may take the form of an alphanumeric keypad or a reduced set of keys associated with particular functions. In some embodiments, keypad 24 may include an increase amplitude button and a decrease amplitude button to directly adjust stimulation amplitude.

In exemplary embodiments, programming device 20 is a patient programmer used by patient 14 to control the delivery of neurostimulation therapy by IMD 12. Patient 14 may use programming device 20 to activate or deactivate, e.g., start or stop, neurostimulation therapy. Patient 14 may also use programming device 20 to adjust the therapy. For example, a patient may use programming device 20 to select one or more programs from among a plurality of stored programs to be the current programs used by IMD 12 to deliver therapy, e.g., patient 14 may switch from one program to another using programming device 20. The programs may be stored by IMD 12 or patient programmer 20. Further, patient 14 may also use programming device 20 to adjust therapy by adjusting one or more stimulation parameters, e.g., adjust the amplitude, width, or rate of delivered stimulation pulse, for the one or more current programs.

Patient 14 may provide a number of consecutive inputs to adjust the therapy information. These consecutive inputs may be described singly as a “therapy adjustment.” Programming device 20 and IMD 12 may treat all consecutive inputs as an adjustment before acting on the changes. Each input may only be separated by a pre-defined time delay, or all inputs may occur within a predefined time period, to treat the inputs as one adjustment.

When patient 14 adjusts one or more stimulation parameters, and/or switches programs, IMD 12 detects a value of a sensed patient parameter, and associates therapy information with the detected value. In some embodiments, IMD 12 stores the associated parameter value and therapy information as a record within a table or other data structure. If an existing record contains the same parameter value, IMD 12 may modify the record to include new therapy information based on the patient adjustment. Otherwise, IMD 12 may add a new record with the associated patient parameter value and therapy information.

In some embodiments, the table or other data structure may be maintained by, and stored in, programming device 20 instead of IMD 12. Accordingly, one or both of IMD 12 and programming device 20 may provide closed-loop adjustment of the therapy delivered by IMD 12 according to the invention. In embodiments in which programming device 20 maintains the data structure, the programming device may receive therapy adjustments from patient 14 via user interface components such as display 22 and keypad 24. In such embodiments, programming device 20 may include sensors that sense the patient parameter, or may receive values of the patient parameter from IMD 12. Programming device 20 may send commands to IMD 12 based on therapy information stored in the data structure to effect closed-loop delivery of therapy.

For ease of description, the provision of closed-loop therapy adjustment will be described hereinafter primarily with reference to embodiments in which IMD 12 provides the closed-loop therapy adjustments. However, it is understood that both of IMD 12 and programming device 20 are medical devices capable of providing closed-loop therapy adjustments according to the invention.

In response to receiving a therapy adjustment from patient 14, e.g., via programming device 20, IMD 12 detects a value of a sensed patient parameter, and associates therapy information with the value. The sensed parameter value may be an activity and/or posture of patient 14, and the therapy information may include the therapy parameters currently used, or adjustments to such parameters made, at the time the sensed patient parameter value was detected. In exemplary embodiments, IMD 12 continually “learns” such associations, e.g., by updating a data structure. Closed-loop delivery of therapy by IMD 12 based on the associations of therapy information with sensed patient parameter values may eventually eliminate the need for patient 14 to manually adjust therapy parameters.

For example, patient 14 may adjust the amplitude of stimulation, which may indicate that the original program was inadequate to treat the patient because of a change of symptoms. The change in symptoms may be correlated with a change in a sensed patient parameter. For example, both of these changes may be due to the patient undertaking an activity or posture, such as running, golfing, taking medication, sleeping, sitting, bending over, transitioning from sitting to standing, or some particular activity or posture related to an occupation of patient 14. IMD 12 may associate therapy information determined based on the received therapy adjustment with a value of a patient parameter, e.g., an activity, activity level, or posture, that is sensed at the time of the therapy adjustment.

In some embodiments, IMD 12 may also monitor the sensed patient parameter, and create additional associations between parameter values and existing therapy information, without receiving any therapy adjustment from patient 14. In particular, when the sensed patient parameter value has changed without a therapy adjustment, IMD 12 may automatically associate the parameter value with therapy information determined based on the current, unadjusted therapy parameters. In some embodiments, IMD 12 may only make such an automatic, non-adjustment based association if the sensed patient parameter value has changed by a threshold or “resolution” value, which may be for example an absolute or percentage value.

The resolution value for the sensed patient parameter may control the size and resolution of a data structure that stores associations between values of the patient parameter and therapy information; whether the associations are made based on a patient therapy adjustment or not. The resolution value may be set by, for example, a manufacturer of IMD 12 or a clinician, and controls difference in the parameter value that IMD 12 identifies as being significant enough to update the data structure. If the resolution value is set to a low value, the data structure may include a greater number of records, each with respective values for the patient parameter. A low resolution value may accordingly provide a finer stimulation control. Alternatively, the resolution value may be set to a higher value to limit the number of records in the data structure, which would also result in less frequent therapy adjustments. In some embodiments, IMD 12 may lower the resolution value if existing records are frequently being modified or overwritten, e.g., in response to frequent therapy adjustments by patient. This occurrence may indicate that patient 12 needs finer control of adjustments to stimulation therapy.

The sensed patient parameter may be activity, activity level, posture, or a physiological parameter of patient 14. Physiological parameters may include heart rate, electromyography (EMG), an electroencephalogram (EEG), an electrocardiogram (ECG), temperature, respiration rate, or pH. A sensor used to sense such patient parameters may be implanted at a site within patient 14, worn on the exterior of the patient, or located within IMD 12. An example sensor is a 3-axis accelerometer located within IMD 12. Patient parameter values detected by IMD 12 based on the signals generated by such a sensor may correspond to an activity or posture undertaken by patient 14, or a gross level of physical activity, e.g., activity counts based on footfalls or the like.

As an example, IMD 12 may record the output of a 3-axis accelerometer in response to a therapy adjustment, and associate the output with therapy information determined based on the adjustment. The recorded output may be the result of patient 14 being in a prone position, for example. When IMD 12 later detects the same output from the accelerometer, e.g., when patient 14 is again in the prone position, IMD 12 may automatically deliver therapy appropriate for the prone position.

By providing therapy adjustments automatically, IMD 12 may allow patient 14 to avoid having to manually adjust the therapy each time a particular patient parameter value occurs, e.g., each time the patient engages in a particular activity, activity level or posture. Such manual adjustment of stimulation parameters can be tedious, requiring patient 14 to, for example, depress one or more keys of keypad 24 multiple times during the patient activity to maintain adequate symptom control. Instead, according to the invention, patient 14 may eventually need to manually adjust stimulation therapy rarely, if at all, once IMD 12 has compiled a comprehensive program table.

FIG. 2 is a block diagram illustrating IMD 12 in greater detail. IMD 12 may deliver neurostimulation therapy via electrodes 30A-D of lead 16A and electrodes 30E-H of lead 16B (collectively “electrodes 30”). Electrodes 30 may be ring electrodes. The configuration, type and number of electrodes 30 illustrated in FIG. 2 are merely exemplary. For example, IMD 12 may only include one lead with eight electrodes on the lead.

Electrodes 30 are electrically coupled to a stimulation pulse generator 32 via leads 16. Stimulation pulse generator 32 may, for example, include an output pulse generator coupled to a power source such as a battery. Stimulation pulse generator 32 may deliver electrical pulses to patient 14 via at least some of electrodes 30 under the control of a processor 34.

Processor 34 may control stimulation pulse generator 32 to deliver neurostimulation therapy according to a selected program. Specifically, processor 34 may control circuit 32 to deliver electrical pulses with the amplitudes and widths, and at the rates specified by the program. Processor 34 may also control stimulation pulse generator 32 to deliver the pulses via a selected subset of electrodes 30 with selected polarities, e.g., a selected electrode configuration, as specified by the program.

Processor 34 may also control stimulation pulse generator 32 to deliver the neurostimulation therapy according to records stored within a table or other data structure, as described above. Processor 34 maintains, e.g., creates and modifies, the table. Specifically, processor 34 may receive a therapy adjustment from a user, such as patient 14, detect a patient parameter value, and associate therapy information with the patient parameter value by creating or modifying a record within the data structure, as described above.

Processor 34 may subsequently detect previously detected patient parameter values, and control stimulation pulse generator 32 to deliver therapy via at least some of electrodes 30 as indicated by the associated therapy information. For example, processor 34 may control stimulation pulse generator 32 to deliver stimulation pulses with the amplitude, width, rate, and/or electrode configuration indicated by the therapy information, or, in some embodiments, may control stimulation pulse generator 32 to adjust the amplitude, width, and/or rate over time as indicated by the therapy information.

IMD 12 also includes a telemetry circuit 38 that allows processor 34 to communicate with programming device 20. Processor 34 may receive program selections, therapy parameter adjustments, or other therapy adjustments, as well as commands to initiate or terminate stimulation, from a user, e.g., patient 14, using programming device 20 via telemetry circuit 38. In some embodiments, as will be described in greater detail below, processor 34 also communicates with a clinician programmer to provide diagnostic information stored in memory 36 to a clinician via telemetry circuit 38. The clinician programmer may operate similarly to programmer 20, but the clinician programmer may be more fully featured, e.g., provide greater control of or interaction with IMD 12, than programming device 20. Telemetry circuit 38 may correspond to any telemetry circuit known in the implantable medical device arts.

In exemplary embodiments, as described above, IMD 12 includes a sensor 40 that senses a patient parameter, and processor 34 detects values of the patient parameter based on the signal generated by sensor 40 as a function of the patient parameter. Sensor 40 may be a sensor that generates an output based on activity, activity level, posture, and/or one or more physiological parameters of patient 14, as discussed above. In exemplary embodiments, sensor 40 is a 3-axis accelerometer, such as a piezoelectric and/or micro-electro-mechanical accelerometer. In other embodiments, a single axis accelerometer may be employed, or multiple single axis accelerometers may be used in place of one 3-axis accelerometer.

In some embodiments, processor 34 processes the analog output of sensor 40 to determine digital activity and/or posture information. For example, where sensor 40 comprises a piezoelectric accelerometer, processor 34 may process the raw signal provided by sensor 40 to determine activity counts. In some embodiments, IMD 12 includes multiple sensors oriented along various axes, or sensor 40 comprises a single multi-axis, e.g., three-axis, accelerometer. In such embodiments, processor 34 may process the signals provided by the one or more sensors 40 to determine velocity of motion information for each axis.

Although illustrated in FIG. 2 as including a single sensor 40, systems according to the invention may include any number of sensors 40. In exemplary embodiments, the one or more sensors 40 are housed within a housing (not shown) of IMD 12. However, the invention is not so limited. In some embodiments, one or more sensors 40 are coupled to IMD 12 via additional leads 16 (not shown). Such sensors may be located anywhere within patient 14. In some embodiments, IMD 12 may be coupled to multiple accelerometer sensors 40 located at various positions within patient 14 or on the external surface of patient 14, and processor 34 may receive more detailed information about the posture of and activity undertaken by patient 14. For example, accelerometer sensors 40 may be located within the torso and at a position within a limb, e.g. a leg, of patient 14.

In some embodiments, one or more sensors 40 may communicate wirelessly with IMD 12 instead of requiring a lead to communicate with the IMD. For example, sensors 40 located external to patient 12 may communicate wirelessly with processor 34, either directly or via programming device 20. In some embodiments, one or more sensors 40 may be included as part of or coupled to programming device 20.

Moreover, the invention is not limited to embodiments where sensors 40 are accelerometers. In some embodiments, one or more sensors 40 may take the form of, for example, a thermistor, a pressure transducer, or electrodes to detect thoracic impedance or an electrogram. Such sensors 40 may be appropriately positioned within patient 14, or on an external surface of the patient, to allow processor 34 to measure a physiological parameter of patient 14, such as a skin temperature, an arterial or intracardiac pressure, a respiration rate, a heart rate, or a Q-T interval of patient 14.

Processor 34 may include a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), discrete logic circuitry, or the like. IMD 12 also includes a memory 36, which may include program instructions that, when executed by processor 34, cause IMD 12 to perform the functions ascribed to IMD 12 herein. Memory 36 may include any volatile, non-volatile, magnetic, optical, or electrical media, such as a random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, and the like.

FIG. 3 is a block diagram illustrating an exemplary configuration of memory 36 of IMD 12. As illustrated in FIG. 3, memory 36 stores programs 50, one or more of which processor 34 (FIG. 2) may select to control delivery of stimulation by pulse generator 32 (FIG. 2), as described above. Each of the programs includes respective values for a plurality of therapy parameters, such as pulse amplitude, pulse width, pulse rate, and electrode configuration, as described above. Processor 34 may select one or more programs based on input or commands received from patient 14 via programming device 20 and telemetry circuit 38. Programs 50 may have been generated using a clinician programmer, e.g., during an initial or follow-up programming session, and received by processor 34 from the clinician programmer via telemetry circuitry 38. In other embodiments, programming device 20 stores programs 50, and processor 34 receives selected programs from programming device 20 via telemetry circuit 38.

In some embodiments, memory 36 also stores an indication of the current therapy parameters 52 used by processor 34 to control delivery of stimulation by stimulation pulse generator 32. Current therapy parameters 52 may be the one or more selected programs, or may reflect modifications to one or more therapy parameters of the one or more programs based on patient adjustment. Further, processor 34 may determine current therapy parameters 52 based on therapy information associated with a detected value of a sensed patient parameter, as described herein.

As described above, patient parameter values table 54 comprises a plurality of records that each include a respective value of a patient parameter and associated therapy information. When therapy is initiated, table 54 may be empty. As therapy progresses, processor 34 creates records, by associating therapy information with patient parameter values, and stores them table 54. If a therapy adjustment causes processor 34 to identify a sensed patient parameter value that is substantially identical to a patient parameter value for an existing record, processor 34 modifies existing record based on new therapy information in order to keep updated therapy information available for stimulation therapy. In this manner, IMD 12 is capable of adapting to changes in patient 14 physiology during the therapy.

Processor 34 may also collect diagnostic information 56 and store diagnostic information 56 within memory 36 for future retrieval by a clinician. Diagnostic information 56 may, for example, include selected recordings of the output of sensor 40 and/or of therapy changes made by patient 14. In exemplary embodiments, diagnostic information 56 includes information identifying the time at which patient sensor outputs occurred, either during operation in a learning mode or as subsequently detected by processor 34. Diagnostic information 56 may include other information or activities indicated by patient 14 using programming device 20, such as changes in symptoms, taking medication, or other activities undertaken by patient 14. A clinician programming device (not shown in FIGS.) may present diagnostic information 56 to a clinician in a variety of forms, such as timing diagrams, or a graph resulting from statistical analysis of diagnostic information 56, e.g., a bar graph. Diagnostic information 56 may also include calibration routines for each sensor 40 and malfunction algorithms to identify stimulation dysfunctions.

FIG. 4 is a block diagram further illustrating programming device 20. As indicated above, in exemplary embodiments programming device 20 takes the form of a patient programming device used by patient 14 to control delivery of therapy by IMD 12. Patient 14 may interact with a processor 60 via a user interface 62 in order to control delivery of neurostimulation therapy, e.g., provide patient therapy adjustments, as described herein. User interface 62 may include display 22 and keypad 24, and may also include a touch screen or peripheral pointing devices as described above. Keypad 24 may include an increase amplitude button and a decrease amplitude button. Processor 60 may also provide a graphical user interface (GUI) to facilitate interaction with patient 14. Processor 60 may include a microprocessor, a controller, a DSP, an ASIC, an FPGA, discrete logic circuitry, or the like.

Programming device 20 also includes a telemetry circuit 64 that allows processor 60 to communicate with IMD 12. In exemplary embodiments, processor 60 communicates commands, indications, and therapy adjustments made by patient 14 via user interface 62 to IMD 12 via telemetry circuit 64. Telemetry circuit 64 may correspond to any telemetry circuit known in the implantable medical device arts.

Programming device also includes a memory 66. In some embodiments, memory 66, rather than memory 36 of IMD 12, may store programs 50 and table 54 to control delivery of neurostimulation therapy. Memory 66 may also include program instructions that, when executed by processor 60, cause programming device 20 to perform the functions ascribed to programming device 20 herein. Memory 66 may include any volatile, non-volatile, fixed, removable, magnetic, optical, or electrical media, such as a RAM, ROM, CD-ROM, hard disk, removable magnetic disk, memory cards or sticks, NVRAM, EEPROM, flash memory, and the like.

FIG. 5 is a flow diagram illustrating an example technique for automatically associating therapy information with patient parameter values in response to patient therapy adjustments. More particularly, FIG. 5 illustrates an example technique for updating a program table following therapy adjustments by patient 14. The illustrated technique may be performed by a medical device, such as IMD 12, and will be described with reference to IMD 12 and system 10.

During therapy, processor 34 of IMD 12 receives a therapy adjustment from patient 14 via programmer 20, e.g., an amplitude adjustment (70). Processor 34 determines therapy information, such as the amount or percentage of the amplitude adjustment, the adjusted value of the amplitude, or respective values for a plurality of therapy parameters including the adjusted amplitude value, based on the therapy adjustment. Processor 34 also identifies a current value of a sensed parameter of patient 14, such as posture or activity, based on a signal generated by sensor 40 (72).

Processor 34 determines whether any of the records in table 54 already include or encompass the identified patient parameter value (74). If the patient parameter value is already in an existing record of table 54, processor 34 modifies the existing record based on, e.g., to include, the newly determined therapy information (76). Otherwise, processor 34 may enter a new record including the identified patient parameter value and the determined therapy information into the table 54 (78). The determination of whether a value of the sensed patient parameter is included in or encompassed by a record already in table 54, e.g., whether the value is substantially equivalent to an existing value, may depend on the resolution value for the sensed parameter, which was discussed above with reference to FIG. 1.

In some cases, the therapy adjustment received from patient 14 may be one or more inputs or a command that stops delivery of therapy. Such an adjustment indicates that the current therapy parameter values 52, whether they were determined based on a program 50 or therapy information from table 54, were inappropriate for the current condition of patient 14. The current condition of the patient is reflected by the current value of a sensed patient parameter. As an example, the patient may stop therapy if it becomes too intense when a particular posture is assumed.

In response to such a therapy adjustment, processor 34 may remove any current association between the current value of the sensed patient parameter and therapy information, e.g., delete any record in table 54 for the current value of the sensed patient parameter. In this manner, next time patient 14 assumes a problematic posture or activity, no change in therapy from whatever therapy is currently being delivered will occur. However, whatever is being delivered may also cause patient 14 to experience discomfort. Accordingly, processor 34 may create a new record, or modify an existing record, such that a relatively innocuous, predetermined therapy program is associated with the patient parameter value that indicates the problematic condition, e.g., posture or activity, of the patient.

Alternatively, processor 34 or programming device 20 may request patient 14 to assume the activity or posture associated with the therapy shutdown, and manually find therapy parameters that provide comfortable and efficacious therapy. In this case, processor 34 or the programming device may provide some guidance or direction to patient 14 to assist in quickly determining therapy parameters that are effective. Once such parameters are found, IMD 12 may create a record in table 54 that associates the previously problematic sensed patient parameter value with the therapy information chosen by patient 14.

FIG. 6 is a flow diagram illustrating an example technique for delivering stimulation according to existing associations of therapy information and parameter values, and also automatically associating existing therapy information with additional patient parameter values. The illustrated technique may be performed by a medical device, such as IMD 12, and will be described with reference to IMD 12 and system 10. As shown in FIG. 6, processor 34 of IMD 12 controls pulse generator 32 to deliver therapy according to the therapy information stored in table 54 (80). For example, processor 34 may adjust therapy parameters or change therapy programs as indicated by therapy information stored in records of table 54. Processor 34 accesses different records, and thus different therapy information, based on detected values of a sensed patient parameter.

If processor 34 detects a change in the patient parameter value (82), the processor may determine whether the parameter value is already in the table (84). As discussed above, this determination may depend on a resolution value for the sensed patient parameter. If the detected patient parameter value is already in table 54, processor 34 may control generator 32 to deliver therapy according to the table, e.g., according to the therapy information associated with the detected patient parameter value in the table (80). This may include adjusting one or more parameters or changing a program. If the detected patient parameter value is not already in table 54, processor 34 may enter a new record in table 54 for the value, which associates the detected patient parameter value with the current therapy parameter values 52 (86). In this manner, processor 34 may more quickly populate table 54 with therapy information for various values of the sensed patient parameter than would be possible if generation of new records was limited to being responsive therapy adjustments from by the patient.

In some embodiments, processor 34 may wait a predetermined time after the sensed patient parameter value changes before storing a new record. Since the output of sensor 40 may change rapidly, recording a new record for each small change in sensor output may not be necessary or even possible without slowing down the performance of processor 34. Processor 34 may wait for 10 seconds, for example, in order to let the sensor output stabilize before generating a new record.

FIG. 7 is a chart illustrating an example patient parameter value table that may be used for closed-loop adjustment of therapy. Table 110 may correspond to table 54 stored in memory 36 of IMD 12. As shown in FIG. 7, table 110 includes a plurality of records. Each record contains an accelerometer output, which is an example of a value of a sensed patient parameter, as well as an amplitude, a pulse width, a pulse frequency, and an electrode configuration, which are values for example therapy parameters. Processor 34 may search table 110 based on a currently-detected accelerometer output in order to match therapy to the current condition, e.g., posture, of patient 14.

The accelerometer output is from a 3-axis accelerometer. A measured acceleration in each direction creates a vector acceleration. Therefore, each accelerometer output includes an X variable, a Y variable, and a Z variable. If one of the three variables is different between an existing record and a new record, processor 34 may enter the new record into program table 110. The value of the accelerometer may be a raw value or a calibrated value equal to the actual acceleration. The resolution value may be equal to the maximum range of each acceleration component divided by a pre-set size. For example, the maximum range may be 10 volts, and the pre-set size may be 100. Therefore, the resolution value for each component is 0.1 volts. In some embodiments, each component of the acceleration value may have a different resolution value.

With respect to the therapy information, the amplitude is in volts, the pulse width is in microseconds (μs), the pulse frequency is in Hz, and the electrode configuration determines the electrodes and polarity used for delivery of stimulation according to the record. The amplitude of program table 110 is the voltage amplitude, but other embodiments may use a current amplitude. In the illustrated example, each record includes a complete set of therapy parameters, e.g., a complete program, as therapy information. In other embodiments, each record may include one or more individual parameter values, or information characterizing an adjustment to one or more parameter values.

FIG. 8 is a diagram illustrating an example data structure and method for providing closed-loop therapy according to the invention based on multiple sensed patient parameters. In some embodiments, each record of table 54 may include respective values for each of a plurality of sensed patient parameters. Processor 34 may deliver therapy according to therapy information within a record in response to detecting the respective parameter values for the record in combination.

FIG. 8 illustrates a matrix 112, which may correspond to such a table. Records with respective therapy information associated with respective values for each of a plurality of sensed patient parameters may be considered to reside at one of points 120, 122 and 124 within a multi-dimensional patient parameter space. Patient 14 temperature, posture, and heart rate are the three exemplary parameters of three-dimensional matrix 112. Matrix 112 may contain numerous records at various “locations” throughout the parameter space represented by matrix, each record with a respective combination of values for a plurality of sensed patient parameters, which is associated with respective therapy information.

Various embodiments of the described invention may include processors that are realized by microprocessors, Application-Specific Integrated Circuits (ASIC), Field-Programmable Gate Arrays (FPGA), or other equivalent integrated or discrete logic circuitry. A processor may also utilize several different types of data storage media to store computer-readable instructions for device operation. These memory and storage media types may include any form of computer-readable media such as magnetic or optical tape or disks, solid state volatile or non-volatile memory, including random access memory (RAM), read only memory (ROM), electronically programmable memory (EPROM or EEPROM), or flash memory. Each storage option may be chosen depending on the embodiment of the invention.

Many embodiments of the invention have been described. However, one skilled in the art will appreciate that various modification may be made to the described embodiments without departing from the scope of the invention. For example, the invention is not limited to medical devices that deliver neurostimulation therapy or to implantable medical devices. Rather, systems that facilitate automatic therapy adjustment according to the invention may include one or more implantable or external medical devices, of any type, that deliver therapy to a patient. For example, in some embodiments, an implantable or external pump that delivers a therapeutic agent to a patient can provide automatic therapy adjustment according to the invention. Further, as discussed above, a programming device, rather than the therapy delivering device, may provide closed-loop therapy adjustments according to the techniques of the invention.

Additionally, in some embodiments, a system that facilitates automatic therapy adjustment does not include a programming device at all. Where a system includes an external medical device that provides therapy to a patient, for example, a user may interact with a user interface provided by the medical device and a programming device may therefore be unnecessary. A user may also interact with an implanted medical device using a magnetic activator, or by tapping over the implanted medical device, which may be detected via an accelerometer, as is known in the art. These and other embodiments are within the scope of the following claims. 

1. A method comprising: sensing at least one of posture or activity of a patient via a sensor; and, using one or more processors: receiving a therapy adjustment from the patient via a user interface, wherein the therapy adjustment received from the patient comprises an adjustment of a value of at least one parameter of a therapy delivered by a medical device to the patient; determining therapy information based on the therapy adjustment; determining the at least one of posture or activity of the patient sensed by the sensor in response to the receipt of the therapy adjustment from the patient; automatically associating the at least one of posture or activity of the patient sensed by the sensor with the therapy information in response to receiving the therapy adjustment; subsequently detecting the at least one of posture or activity of the patient via the sensor; and automatically delivering therapy to the patient via the medical device according to the therapy information associated with the at least one of posture or activity of the patient in response to the subsequent detection.
 2. The method of claim 1, further comprising: receiving, using the one or more processors, one of a plurality of therapy adjustments from the patient whenever the patient adjusts the therapy; and using the one or more processors, for each of the therapy adjustments, determining respective therapy information based on the therapy adjustment, and automatically associating the respective therapy information with a respective at least one of posture or activity of the at least one posture or activity of the patient determined in response to receipt of the therapy adjustment in response to receiving the therapy adjustment.
 3. The method of claim 1, wherein sensing the at least one of posture or activity comprises sensing a plurality of at least one of posture or activity the patient, automatically associating the value of the sensed at least one of posture or activity with the therapy information comprises automatically associating a respective at least one of posture or activity for each of the plurality of at least one of posture or activity with the therapy information, and subsequently detecting the value of the at least one of posture or activity comprises subsequently detecting the respective at least one of posture or activity in combination.
 4. The method of claim 1, further comprising maintaining a data structure via the one or more processors, wherein associating the value of the at least one of posture or activity with the therapy information comprises storing the associated at least one of posture or activity and the therapy information as a record within the data structure.
 5. The method of claim 4, wherein storing the associated at least one of posture or activity and the therapy information as a record comprises: determining whether any of a plurality of existing records of the data structure includes the at least one of posture or activity; and updating one of the plurality of existing records based on the therapy information when the existing record includes the at least one of posture or activity.
 6. The method of claim 4, wherein storing the associated at least one of posture or activity and therapy information as a record comprises: determining whether any of a plurality of existing records of the data structure includes the at least one of posture or activity; and creating a new record that includes the at least one of posture or activity and the therapy information when the plurality of existing records of the data structure do not include the at least one of posture or activity.
 7. The method of claim 1, further comprising: detecting another at least one of posture or activity of the patient via the sensor; determining, using the one or more processors, that the detected another at least one of posture or activity is not presently associated with therapy information; and automatically associating, using the one or more processors, the detected another at least one of posture or activity with current therapy parameter values based on the determination.
 8. The method of claim 1, wherein therapy comprises stimulation and the therapy information comprises a plurality of stimulation parameters.
 9. The method of claim 8, wherein the plurality of stimulation parameters comprise an electrode configuration, a pulse rate, a pulse width, and an amplitude.
 10. The system of claim 1, wherein the therapy comprises electrical stimulation therapy, wherein the at least one parameter of the therapy comprises at least one stimulation parameter, the at least one stimulation parameter including at least one of amplitude, pulse width, pulse rate, or electrode configuration.
 11. A system comprising: a medical device configured to deliver therapy to a patient; a user interface; a sensor configured to sense at least one of posture or activity of the patient; and a processor configured to: receive a therapy adjustment from a patient via the user interface, wherein the therapy adjustment comprises an adjustment to a value of at least one parameter of the therapy delivered by the medical device to the patient, determine therapy information based on the therapy adjustment, determine the at least one of posture or activity of the patient in response to receipt of the therapy adjustment, automatically associate the at least one of posture or activity of the patient detected via the sensor in response to the receipt of the therapy adjustment with the therapy information in response to receiving the therapy adjustment, subsequently detect the at least one of posture or activity via the sensor, and automatically control the medical device to deliver therapy to the patient according to the therapy information associated with the at least one of posture or activity in response to the subsequent detection of the at least one of posture or activity.
 12. The system of claim 11, wherein the processor receives one of a plurality of therapy adjustments from the patient whenever the patient adjusts the therapy via the user interface, and, for each of the therapy adjustments, determines respective therapy information based on the therapy adjustment, and automatically associates the respective therapy information with a respective at least one of posture or activity of the patient determined when the therapy adjustment is received in response to receiving the therapy adjustment.
 13. The system of claim 11, further comprising a memory, wherein the processor is configured to maintain a data structure within the memory, and store the associated at least one of posture or activity and the therapy information as a record within the data structure.
 14. The system of claim 13, wherein the processor is configured to determine whether any of a plurality of existing records of the data structure includes the at least one of posture or activity, and update one of the plurality of existing records based on the therapy information when the existing record includes the at least one of posture or activity.
 15. The system of claim 13, wherein the processor is configured to determine whether any of a plurality of existing records of the data structure includes the at least one of posture or activity, and create a new record that includes the at least one of posture or activity and the therapy information when the plurality of existing records of the data structure do not include the at least one of posture or activity.
 16. The system of claim 11, wherein the processor is configured to determine another at least one of posture or activity of the patient via the sensor, determine that the detected another at least one of posture or activity is not presently associated with therapy information, and automatically associate the detected another at least one of posture or activity with current therapy parameter values based on the determination.
 17. The system of claim 11, wherein medical device is configured to deliver stimulation to the patient, and the therapy information comprises a plurality of stimulation parameters.
 18. The system of claim 17, wherein the plurality of stimulation parameters comprise an electrode configuration, a pulse rate, a pulse width, and an amplitude.
 19. The system of claim 11, wherein the therapy comprises electrical stimulation therapy, and wherein the at least one parameter of the therapy comprises at least one stimulation parameter, the at least one stimulation parameter including at least one of amplitude, pulse width, pulse rate, or electrode configuration.
 20. A system comprising: means for receiving a therapy adjustment from the patient, wherein the therapy adjustment received from the patient comprises an adjustment of a value of at least one parameter of a therapy delivered by a medical device to the patient; means for determining at least one of posture or activity of the patient in response to the receipt of the therapy adjustment from the patient; means for determining therapy information based on the therapy adjustment; means for automatically associating the determined at least one of posture or activity of the patient with the therapy information in response to receiving the therapy adjustment; means for subsequently detecting the at least one of posture or activity of the patient; and means for automatically delivering therapy to the patient according to the therapy information associated with the at least one of posture or activity of the patient in response to the subsequent detection. 